<!-- 我的基础 -->

<template>
  <div>
    <FormRadio label="类型" bind="type" :dict="add_DICT.TYPE" @change="changeType" />
    <FormSelect v-if="add_one.type === 2" label="所属分组" bind="parentId" :dict="groupDict" required />
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyBase',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb('add', 'add_')],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 分组字典
     */
    groupDict() {
      return this.$root.alarm_group_treeDict.map(([, id, name]) => [id, name])
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 切换类型
     */
    changeType(type) {
      if (type === 1) {
        Object.assign(this.add_one, {
          parentId: undefined, // 父 ID
          alarmTypeName: '',
          alarmTypeCode: '',
          alarmDictId: undefined,
          alarmDictName: '',
          alarmDictCode: '',
        })
      } else {
        Object.assign(this.add_one, {
          parentId: undefined, // 父 ID
          subSystemName: '',
          subSystemCode: '',
          deviceCategoryId: undefined,
          deviceCategoryName: '',
          deviceCategoryCode: '',
        })
      }
    },
  },
}
</script>
